#pragma once

class CAppInvoker
{
public:
    CAppInvoker(void);
public:
    ~CAppInvoker(void);
public:
    bool Invoke(LPCTSTR path, LPCTSTR param, bool bStdIn = false, bool bStdOut = false, bool bStdError = false);
public:
    HANDLE m_hChildStdIn;
    HANDLE m_hChildStdOut;
    HANDLE m_hChildStdErr;
public:
    static DWORD WINAPI StdOutProc(LPVOID pVoid);
public:
    DWORD StdOutProc(void);
public:
    virtual 
        void OnStdOutData(void* buf, size_t len){}
};
